package com.knife.scheduler.domain.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.knife.common.constants.BaseConstants;
import com.knife.common.entity.BaseDto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 定时任务信息数据库存储
 *
 * @author： 76875
 * @date： 2022/4/2 星期六 15:50
 * @description：
 * @modifiedBy：
 * @version: 1.0
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class KnifeJobInfo extends BaseDto {
    /**
     * mp自动扫描本主键
     */
    private Long id;
    /**
     * 唯一标识
     */
    private String jobCode;

    /**
     * the name element for the Job's JobKey
     */
    private String quartzName;

    /**
     * the group element for the Job's JobKey
     */
    private String quartzGroup;

    /**
     * cron表达式
     */
    private String cron;

    /**
     * 开启时间
     */
    @JsonFormat(pattern = BaseConstants.Pattern.DATETIME,timezone = "GMT+8")
    @DateTimeFormat(pattern = BaseConstants.Pattern.DATETIME)
    private Date startDate;

    /**
     * 结束时间
     */
    @JsonFormat(pattern = BaseConstants.Pattern.DATETIME,timezone = "GMT+8")
    @DateTimeFormat(pattern = BaseConstants.Pattern.DATETIME)
    private Date endDate;

    /**
     * 描述
     */
    private String description;

    /**
     * 是否循环
     */
    private Integer cycleFlag;

    /**
     * 租户id
     */
    private Long tenantId;

    /**
     * 任务传入参数
     */
    private String jobParam;

}
